package com.lfec.dividiraconta;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

public class Item implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -8187786390521051275L;
	
	private String nome;
	private double valorUnitario;
	private double unidades;
	private double valorTotal;
	
	private List<Pessoa> pessoaList = new ArrayList<Pessoa>();

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public double getValorUnitario() {
		return valorUnitario;
	}

	public void setValorUnitario(double valorUnitario) {
		this.valorUnitario = valorUnitario;
	}

	public double getUnidades() {
		return unidades;
	}

	public void setUnidades(double unidades) {
		this.unidades = unidades;
	}

	public double getValorTotal() {
		return valorTotal;
	}

	public void setValorTotal(double valorTotal) {
		this.valorTotal = valorTotal;
	}

	public List<Pessoa> getPessoaList() {
		return pessoaList;
	}

	public void setPessoaList(List<Pessoa> pessoaList) {
		this.pessoaList = pessoaList;
	}
	
	public double getValorPorPessoa(){
		BigDecimal bd = BigDecimal.valueOf(valorTotal);
		BigDecimal pessoas = BigDecimal.valueOf(pessoaList.size());
		
		return bd.divide(pessoas).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
	}

	public void addPessoa(Pessoa p) {
		if (!pessoaList.contains(p)) {
			pessoaList.add(p);
		}
		
	}

	public void removePessoa(Pessoa p) {
		if (pessoaList.contains(p)) {
			pessoaList.remove(p);
		}
		
	}

}
